package cn.xxliang.platapp.pojo.dto;

import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.NotNull;

@Data
@ApiModel("订购信息表")
@EqualsAndHashCode(callSuper = false)
public class OrderInfoDto {
    @ApiModelProperty(value = "手机号",required = true)
    @NotNull(message = "手机号不能为空")
    private String msisdn;
    
    @ApiModelProperty(value = "产品ID",required = true)
    @NotNull(message = "产品ID不能为空")
    private String productId;
    
    @ApiModelProperty(value = "包ID",required = true)
    @NotNull(message = "包ID不能为空")
    private String packageId;
    
    @ApiModelProperty(value = "元素ID",required = true)
    @NotNull(message = "元素ID不能为空")
    private String elementId;
    
    @ApiModelProperty(value = "平台产品ID",required = true)
    @NotNull(message = "平台产品ID不能为空")
    private String platformProductId;
    
    @ApiModelProperty(value = "商用产品ID",required = true)
    @NotNull(message = "商用产品ID不能为空")
    private String businessProductId;
    
    @ApiModelProperty(value = "QoS订购模块分配",required = true)
    @NotNull(message = "QoS订购模块分配不能为空")
    private String qosProductId;
    
    @ApiModelProperty(value = "区域ID")
    @NotNull(message = "区域ID不能为空")
    private String areaId;
    
    @ApiModelProperty(value = "业务类型 1-包月续订 2-包月不续订",required = true)
    @NotNull(message = "业务类型不能为空")
    private Integer businessType;
    
    @ApiModelProperty(value = "业务状态 1-可用 2-不可用 3-待终止 4-已过期",required = true)
    @NotNull(message = "业务状态不能为空")
    private Integer businessStatus;
    
    @ApiModelProperty(value = "状态 0-订购中 1-订购成功 2-订购失败 3-退订中 4-退订成功 5-退订失败",required = true)
    @NotNull(message = "状态不能为空")
    private Integer status;
    
    @ApiModelProperty(value = "生效时间",required = true)
    @NotNull(message = "生效时间不能为空")
    private String effectTime;
    
    @ApiModelProperty(value = "终止时间",required = true)
    @NotNull(message = "终止时间不能为空")
    private Integer terminateTime;
    
    @ApiModelProperty(value = "时间戳")
    private String timestamp;
    
    @ApiModelProperty(value = "上游系统ID",required = true)
    @NotNull(message = "上游系统ID不能为空")
    private String northSystemId;
    
    @ApiModelProperty(value = "渠道ID",required = true)
    @NotNull(message = "渠道ID不能为空")
    private String channelId;
    
    @ApiModelProperty(value = "渠道类型",required = true)
    @NotNull(message = "渠道类型不能为空")
    private String channelType;
    
    //@ApiModelProperty(value = "创建时间")
    //private String createTime;
    
    //@ApiModelProperty(value = "更新时间")
    //private String updateTime;
    
    @ApiModelProperty(value = "订单ID")
    private String orderId;
}
